package com.passion.common;

import lombok.Data;

/**
 * @program offline-e-commerce-data-warehouse
 * @Description 接口返回数据格式
 * @Author limeihua
 * @Date 2024/09/24 20:22
 * @Version 1.0
 */
@Data
public class R<T> {
    // 状态码
    private int status;
    // 返回信息内容
    private String msg;
    // 返回数据
    private T data;

    // 成功返回
    public static <T> R<T> ok(T data) {
        R<T> r = new R<>();
        r.setStatus(0);
        r.setMsg("success");
        r.setData(data);
        return r;
    }

    // 成功返回不带数据
    public static <T> R<T> ok() {
        R<T> r = new R<>();
        r.setStatus(0);
        r.setMsg("success");
        return r;
    }

    // 失败返回
    public static <T> R<T> error(int status, String msg) {
        R<T> r = new R<>();
        r.setStatus(status);
        r.setMsg(msg);
        return r;
    }

    // 失败返回
    public static <T> R<T> error() {
        R<T> r = new R<>();
        r.setStatus(500);
        r.setMsg("error");
        return r;
    }

    // 失败返回
    public static <T> R<T> error(int status, String msg, T data) {
        R<T> r = new R<>();
        r.setStatus(status);
        r.setMsg(msg);
        r.setData(data);
        return r;
    }
}

